package com.manager.commons.utils;

//                   _ooOoo_    
//                  o8888888o    
//                  88" . "88    
//                  (| -_- |)    
//                   O\ = /O    
//               ____/'---'\____    
//              /. '\\| : |//' .\    
//             // \\||| : |||// \\   
//            // _|||||-:-|||||_ \\    
//           // | | \\\ - /// | | \\
//           || |_| ''\---/'' |_| || 
//            \ .-\___/'-'\___/-. /    
//          ___\. .' /--.--\ '. ./___    
//        .""'< `.___\_<|>_/___.' >'"".    
//       | |: `- \`.|'\ _ /'|.`/ -` :| |    
//        \ \ `-. \_ __\ /__ _/ .-` / /    
//======'-.___`-.___\_______/___.-`___.-'======    
//                   '=---='    
//.................................................    
//写一哈代码，你就青叫唤；信龟儿设计，你逗是傻逼。
//永无Bug，啷个可能！求佛主保佑也没球用！

import java.lang.reflect.Field;

/**
 * FieldsUtil
 * @author H
 * @version V1.0
 */
public class FieldsUtil {

	/**
	 * 获取字段名称
	 * @param clazz
	 * @param alias
	 * @param offset
	 * @return
	 */
	public static String showFields(Class<?> clazz, String alias, int offset) {
		Field[] fields = clazz.getDeclaredFields();
		StringBuilder sb = new StringBuilder();
		if (null != alias) {
			sb.append(alias).append(".").append(fields[offset].getName());
			for (int i = offset + 1, j = fields.length; i < j; i++) {
				sb.append(",").append(alias).append(".").append(fields[i].getName());
			}
		} else {
			sb.append(fields[offset].getName());
			for (int i = offset + 1, j = fields.length; i < j; i++) {
				sb.append(",").append(fields[i].getName());
			}
		}
		return sb.toString();
	}

	/**
	 * 获取字段名称
	 * @param clazz
	 * @param alias
	 * @return
	 */
	public static String showFields(Class<?> clazz, String alias) {
		return showFields(clazz, alias, 1);
	}

	/**
	 * 获取字段名称
	 * @param clazz
	 * @return
	 */
	public static String showFields(Class<?> clazz) {
		return showFields(clazz, null, 1);
	}
}